home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / nan_news / toolkit / nanfor.rmk < prev    next >
Text File  |  1991-08-17  |  18KB  |  516 lines

  1. /*
  2.  * File......: NANFOR.RMK
  3.  * Date......: $Date:   16 Aug 1991 00:02:38  $
  4.  * Revision..: $Revision:   1.5  $
  5.  * Log file..: $Logfile:   E:/nanfor/src/nanfor.rmv  $
  6.  * 
  7.  * Modification history:
  8.  * ---------------------
  9.  *
  10.  * $Log:   E:/nanfor/src/nanfor.rmv  $
  11.  * 
  12.  *    Rev 1.5   16 Aug 1991 00:02:38   GLENN
  13.  * MADD.PRG and MONTH.PRG dependency lines were written incorrectly
  14.  * so these objects were being built whether they changed or not.
  15.  * Fixed.
  16.  * 
  17.  *    Rev 1.4   15 Aug 1991 23:09:02   GLENN
  18.  * Forest Belt proofread/edited/cleaned up doc
  19.  *
  20.  *    Rev 1.3   17 Jul 1991 22:50:50   GLENN
  21.  * Added a couple last minute sources
  22.  * 
  23.  *    Rev 1.2   14 Jun 1991 20:28:30   GLENN
  24.  * Moved SHADOW.OBJ from MASM section to TASM section
  25.  * 
  26.  *    Rev 1.1   14 Jun 1991 19:58:38   GLENN
  27.  * Removed NOVCONS.OBJ pending some bug fixes.
  28.  * 
  29.  *    Rev 1.0   14 Jun 1991 18:46:46   GLENN
  30.  * Initial revision.
  31.  *
  32.  */
  33.  
  34.  
  35. /* ----------------------------------------------------------------------
  36.    The Nanforum Toolkit Master Makefile     READ THIS BEFORE USING!!!
  37.    ----------------------------------------------------------------------
  38.   
  39.    This makefile will allow you to use RMAKE, provided with every
  40.    Clipper 5.01 package, to maintain your own copy of the Nanforum
  41.    Toolkit.  It is also an example of how to use RMAKE on a
  42.    large project.  This is the exact copy used by the Nanforum Toolkit
  43.    librarian.
  44.   
  45.    To use it, you must first understand what it does, and what your
  46.    limitations are.  A discussion of MAKE utlities is beyond the scope
  47.    of this comment; read the Clipper documentation, or the Norton Guide
  48.    file, for more information on RMAKE.
  49.   
  50.    *** Compilers and Assemblers you need
  51.   
  52.    Note that currently, Nanforum Toolkit sources are written in
  53.    Assembly language, Clipper, and C.  Within the realm of assembly
  54.    language, our contributors have submitted code that is designed
  55.    for Borland's Turbo Assembler (TASM) and Microsoft's Macro Assembler
  56.    (MASM).  So, right now, in order to do a perfect re-build of 
  57.    the Nanforum Toolkit, you must have these tools:
  58.   
  59.         Microsoft C (v5.1 or later)
  60.         Microsoft Macro Assembler (v 5.1 or later)
  61.         Borland Turbo Assembler
  62.         Nantucket Clipper v5.01 or later
  63.  
  64.   
  65.    If you know much about assembly language, you can convert MASM
  66.    sources to TASM and vice versa, but that is up to you.
  67.   
  68.    *** Library Utility
  69.   
  70.    In addition, you must have a library utility.  Microsoft supplies
  71.    LIB.EXE with its Compiler products, for example.  LIB will work
  72.    fine with this makefile.  Note that we assume a command line syntax
  73.    for library utilities that works like this:
  74.   
  75.         lib <libname> -+objname
  76.   
  77.    Note the "-+" directive, indicating "replace module."  If your
  78.    library utility does not support this syntax on the command line,
  79.    then you will have to edit the relevant lines in the makefile.
  80.  
  81.    A version of LIB.EXE can be found on CompuServe.  Download S12776.ARC
  82.    from the MSOFT forum.
  83.   
  84.    *** Assumptions about your environment
  85.   
  86.    NANFOR.RMK makes just a few assumptions about your environment:
  87.   
  88.               Assumption            What to change if we're wrong
  89.               ----------            -----------------------------
  90.   
  91.    Relevant environment             Either edit the makefile to
  92.    variables for each compiler/     set the envars, or setup your
  93.    assembler are already            autoexec.bat to set them on bootup.
  94.    set (i.e., LIB=, INCLUDE=)       See your compiler doc.
  95.   
  96.    Microsoft C is being             Look for the .C source inference
  97.    used                             rule below, and change it to *your*
  98.                                     compiler, making sure your switches
  99.                                     are correct.  Note that some source
  100.                                     may not compile without MSC, so edits
  101.                                     may be required.  Try to use MSC.
  102.                                     This is also where you will change the
  103.                                     makefile to whatever *you* call your
  104.                                     C compiler (CL for Microsoft C 5.1.)
  105.   
  106.    Microsoft Assembler              Look for all occurences of MASM in
  107.    executable is called             this makefile and change them to
  108.    MASM.EXE                         whatever *you* call MASM.
  109.   
  110.    Borland's Turbo Assembler        Look for all occurences of TASM in
  111.    executable is called             this makefile and change them to
  112.    TASM.EXE                         whatever *you* call TASM.
  113.   
  114.    Clipper compiler executable      Look for the .PRG source inference
  115.    is called CLIPPER.EXE            rule below, and change it to whatever
  116.                                     *you* call Clipper.
  117.   
  118.   
  119.    *** Customizing the Makefile
  120.   
  121.    We have tried not to assume anything about your environment except
  122.    what is described above.  To achieve that flexibility, you must
  123.    check and set some macros that can be found just below this
  124.    documentation.  They are:
  125.   
  126.         l         Path to the resulting library (i.e., \nanfor)
  127.         o         Path to where .obj files should be put (i.e., \nanfor\obj)
  128.         s         Path to where the source code is found (i.e., \nanfor\src)
  129.        c5         Path and name of Clipper 5.0 compiler
  130.        ma         Path to Microsoft Macro Assembler .EXE
  131.        ta         Path to Turbo Assembler .EXE
  132.        mc         Path to Microsoft C 5.1
  133.        ml         Path and name of library utility (i.e., \bin\lib)
  134.   
  135.     Note that directory paths should *not* end in a backslash.
  136.     If you like to keep your .obj and source files in the same
  137.     directory, simply point the paths to the same place.
  138.   
  139.     *** What happens when you don't have a compiler
  140.   
  141.     If RMAKE can't find the compiler in the directory you specified,
  142.     then the relevant files designed for that compiler will not be
  143.     built, and the resultant objs won't be replaced in your library.
  144.     You will get an error message.
  145.   
  146.     *** Suggestions for setting up a "rebuilding environment"
  147.   
  148.     Should you want to rebuild, the following is suggested:
  149.   
  150.     First, make sure you keep an unmodified NANFOR.LIB, downloaded
  151.     from the forum, in a safe place.  Do not modify it.
  152.   
  153.     Next, create a directory structure like this
  154.   
  155.     \nanfor
  156.         \obj
  157.         \src
  158.   
  159.     Put this makefile in \nanfor, and all source code into
  160.     \nanfor\src.
  161.   
  162.     Customize the makefile in \nanfor for your environment.
  163.     The default macros below assume you're using this arrangement.
  164.   
  165.     Type RMAKE NANFOR.RMK.  The .obj files should be left in
  166.     \nanfor\obj, and the new NANFOR.LIB should be in \nanfor.
  167.   
  168.     Note that as new releases of the library come out, you may have
  169.     a lot of work incorporating additions and modifications.  So,
  170.     plan your rebuilding efforts carefully.
  171.   
  172.     *** Problems, bugs, support
  173.   
  174.     Support for this makefile can be found on CompuServe, in the
  175.     Nantucket Forum (NANFORUM).  Leave messages in section 5 ("User
  176.     Lib").  Updates and patches will be posted in Library 7.
  177. */
  178.  
  179. //  ------------------------------------------------------------------------
  180. //  path macros for your environment.. BE SURE TO SET THESE! THEY'RE SET FOR
  181. //  THE LIBRARIAN'S MACHINE AND WILL NOT WORK ON YOURS!
  182. //  ------------------------------------------------------------------------
  183.  
  184. l  = \nansrc
  185. o  = \nansrc\obj
  186. s  = \nansrc
  187. c5 = d:\dbin\clipper
  188. ma = d:\dbin
  189. ta = d:\dbin
  190. mc = d:\dbin
  191. ml = d:\os2\lib
  192.  
  193.  
  194. // -----------------------------
  195. // Kill lib response file if any
  196. // -----------------------------
  197.  
  198.  
  199. !iffile $(l)\nanfor.rsp
  200.    #! del $(l)\nanfor.rsp
  201. !endif
  202.  
  203.  
  204. /* ----------------------------------------------------------------
  205.  
  206.      Here we set up the test macros if FT_TEST is defined on the
  207.      command line.
  208.  
  209.      A note here:  This may look convenient, but in practice you 
  210.      wouldn't rebuild a library with all the modules' FT_TEST drivers
  211.      compiled in.  Therefore, as librarian, I caution you not to use
  212.      this feature <g>.
  213.  
  214.      If you want to use the demos and tests supplied within #ifdef 
  215.      FT_TEST directives, then compile the individual source file
  216.      from the command line, e.g.,:
  217.  
  218.                clipper xbox /n /dFT_TEST
  219.  
  220.      then link from the command line:
  221.  
  222.                rtlink fi xbox
  223.  
  224.      Then you can run XBOX.EXE to see what gives.
  225.  
  226.  
  227. */
  228.  
  229.  
  230. !ifdef FT_TEST
  231.    T = /DFT_TEST
  232. !else
  233.    T =
  234. !endif
  235.  
  236.     //
  237.     // INFERENCE RULE FOR MASM FILES
  238.     //
  239.     // THE ACTUAL CALL TO THE ASSEMBLER IS DEFINED WITHIN THE 'ASM'
  240.     // MACRO WHICH IS DEFINED BEFORE EACH .ASM SECTION AS EITHER
  241.     // MASM OR TASM
  242.     //
  243.  
  244. .ASM.OBJ:
  245.         $(asm) /mx $(t) $(s)\$*,$(o)\$*;
  246.         echo -+$(o)\$* & >> $(l)\nanfor.rsp
  247.  
  248.     // inference rule for c files
  249.  
  250. .C.OBJ:
  251.     $(mc)\cl /AL /Gs /FPa /Ox /Zl /c $(t) /Fo$(o)\$* $(s)\$*.c
  252.         echo -+$(o)\$* & >> $(l)\nanfor.rsp
  253.  
  254.     // inference rule for prg files
  255.  
  256. .PRG.OBJ:
  257.         $(c5) $(s)\$* /m /l /n /r /w $(t) /o$(o)\$*
  258.         echo -+$(o)\$* & >> $(l)\nanfor.rsp
  259.  
  260.     // inference rule for library
  261.  
  262. .RSP.LIB:
  263.         echo ,$(l)\nanfor.lst; >> $(l)\nanfor.rsp
  264.         if not exist $(l)\nanfor.lib $(ml) $(l)\nanfor.lib;
  265.         $(ml) $(l)\NANFOR.LIB @$(l)\nanfor.rsp
  266.  
  267. // -----------------------------------------------------------------
  268. // MASM 5.1
  269. // This section compiles any source files that need MASM 5.1
  270. // -----------------------------------------------------------------
  271.  
  272. // check to see if masm.exe is found
  273.  
  274. !iffile $(ma)\masm.exe
  275.  
  276. asm = $(ma)\masm
  277.  
  278. $(o)\DISPA.OBJ      :  $(s)\DISPA.ASM
  279. $(o)\ENDCAP.OBJ     :  $(s)\ENDCAP.ASM
  280. $(o)\FLOPTST.OBJ    :  $(s)\FLOPTST.ASM
  281. $(o)\FLUSHCAP.OBJ   :  $(s)\FLUSHCAP.ASM
  282. $(o)\HANDCNT.OBJ    :  $(s)\HANDCNT.ASM
  283. $(o)\KSPEED.OBJ     :  $(s)\KSPEED.ASM
  284. $(o)\LOGOUT.OBJ     :  $(s)\LOGOUT.ASM
  285. $(o)\NOVDMP2.OBJ    :  $(s)\NOVDMP2.ASM  $(s)\MINTER.MAC
  286. $(o)\NOVPURGE.OBJ   :  $(s)\NOVPURGE.ASM $(s)\MINTER.MAC
  287. $(o)\NWTTS1.OBJ     :  $(s)\NWTTS1.ASM
  288. $(o)\NWTTS2.OBJ     :  $(s)\NWTTS2.ASM
  289. $(o)\NWTTS3.OBJ     :  $(s)\NWTTS3.ASM
  290. $(o)\NWTTS4.OBJ     :  $(s)\NWTTS4.ASM
  291. $(o)\NWTTS5.OBJ     :  $(s)\NWTTS5.ASM
  292. $(o)\ORIGIN.OBJ     :  $(s)\ORIGIN.ASM
  293. $(o)\_WHEREIS.OBJ   :  $(s)\_WHEREIS.ASM
  294.  
  295. !else
  296.  
  297.     // if masm.exe file not found
  298.  
  299. !stderr "NFMake Error: MASM.EXE file not found ... .ASM files not processed!"
  300.  
  301. !endif
  302.  
  303. // ------------------------------------------------------------------
  304. // TASM
  305. // This section compiles any source files that need TASM
  306. // -------------------------------------------------------------------
  307.  
  308. // check to see if tasm.exe is found
  309.  
  310. !iffile $(ta)\tasm.exe
  311.  
  312. asm = $(ta)\tasm
  313.  
  314. $(o)\ADAPTER.OBJ    :       $(s)\ADAPTER.ASM
  315. $(o)\AINT86.OBJ     :       $(s)\AINT86.ASM
  316. $(o)\CHDIR.OBJ      :       $(s)\CHDIR.ASM
  317. $(o)\DEFAULT.OBJ    :       $(s)\DEFAULT.ASM
  318. $(o)\DIRFUNC.OBJ    :       $(s)\DIRFUNC.ASM
  319. $(o)\INP.OBJ        :       $(s)\INP.ASM
  320. $(o)\ISPRINT.OBJ    :       $(s)\ISPRINT.ASM
  321. $(o)\MKDIR.OBJ      :       $(s)\MKDIR.ASM
  322. $(o)\OUTP.OBJ       :       $(s)\OUTP.ASM
  323. $(o)\PUTKEY.OBJ     :       $(s)\PUTKEY.ASM
  324. $(o)\REBOOT.OBJ     :       $(s)\REBOOT.ASM
  325. $(o)\RESTATT.OBJ    :       $(s)\RESTATT.ASM
  326. $(o)\RMDIR.OBJ      :       $(s)\RMDIR.ASM
  327. $(o)\SAVEATT.OBJ    :       $(s)\SAVEATT.ASM
  328. $(o)\SHADOW.OBJ     :       $(s)\SHADOW.ASM
  329. $(o)\TMENU.OBJ      :       $(s)\TMENU.ASM $(s)\TMENU.INC
  330.  
  331. !else
  332.  
  333.     // if tasm.exe file not found
  334.  
  335. !stderr "NFMake Error: TASM.EXE file not found ... .ASM files not processed!"
  336.  
  337. !endif
  338.  
  339. // ------------------------------------------------------------------
  340. // MICROSOFT C
  341. // This section compiles any source files that need MSC 5.1
  342. // ------------------------------------------------------------------
  343.  
  344. // check to see if cl.exe is found
  345.  
  346. !iffile $(mc)\cl.exe
  347.  
  348. $(o)\ALT.OBJ        :  $(s)\ALT.C
  349. $(o)\CAPLOCK.OBJ    :  $(s)\CAPLOCK.C
  350. $(o)\CINT86.OBJ     :  $(s)\CINT86.C   $(s)\CINT86.H
  351. $(o)\CTRL.OBJ       :  $(s)\CTRL.C
  352. $(o)\DISPC.OBJ      :  $(s)\DISPC.C    $(s)\DISPA.ASM $(s)\DFKEY.H
  353. $(o)\FTTEXT.OBJ     :  $(s)\FTTEXT.C   $(s)\FTTEXT.H
  354. $(o)\GETENVRN.OBJ   :  $(s)\GETENVRN.C
  355. $(o)\NUMLOCK.OBJ    :  $(s)\NUMLOCK.C
  356. $(o)\PEEK.OBJ       :  $(s)\PEEK.C
  357. $(o)\POKE.OBJ       :  $(s)\POKE.C
  358. $(o)\PROPER.OBJ     :  $(s)\PROPER.C
  359. $(o)\PRTSCR.OBJ     :  $(s)\PRTSCR.C
  360. $(o)\SHIFT.OBJ      :  $(s)\SHIFT.C
  361. $(o)\STOD.OBJ       :  $(s)\STOD.C
  362. $(o)\VIDEO1.OBJ     :  $(s)\VIDEO1.C
  363.  
  364. !else
  365.  
  366.     // if cl.exe file not found
  367.  
  368. !stderr "NFMake Error: CL.EXE file not found ... .C files not processed!"
  369.  
  370. !endif
  371.  
  372. // --------------------------------------------------------------
  373. // CLIPPER 5.01
  374. // This section compiles any source files that need Clipper 5.01
  375. // ---------------------------------------------------------------
  376.  
  377. // check to see if clipper.exe is found
  378.  
  379. !iffile $(c5).exe
  380.  
  381.  
  382.  
  383. $(o)\AADING.OBJ     :  $(s)\AADING.PRG
  384. $(o)\AAVG.OBJ       :  $(s)\AAVG.PRG      $(s)\ASUM.PRG
  385. $(o)\ACCTADJ.OBJ    :  $(s)\ACCTADJ.PRG
  386. $(o)\ACCTMNTH.OBJ   :  $(s)\ACCTMNTH.PRG
  387. $(o)\ACCTQTR.OBJ    :  $(s)\ACCTQTR.PRG
  388. $(o)\ACCTWEEK.OBJ   :  $(s)\ACCTWEEK.PRG
  389. $(o)\ACCTYEAR.OBJ   :  $(s)\ACCTYEAR.PRG
  390. $(o)\ACH2TB.OBJ     :  $(s)\ACH2TB.PRG    $(s)\FT_ACH2T.CH
  391. $(o)\ADESSORT.OBJ   :  $(s)\ADESSORT.PRG
  392. $(o)\AEMAXLEN.OBJ   :  $(s)\AEMAXLEN.PRG
  393. $(o)\AEMINLEN.OBJ   :  $(s)\AEMINLEN.PRG
  394. $(o)\AMEDIAN.OBJ    :  $(s)\AMEDIAN.PRG
  395. $(o)\ANOMATCH.OBJ   :  $(s)\ANOMATCH.PRG
  396. $(o)\ANY2ANY.OBJ    :  $(s)\ANY2ANY.PRG
  397. $(o)\AREDIT.OBJ     :  $(s)\AREDIT.PRG
  398. $(o)\ASUM.OBJ       :  $(s)\ASUM.PRG
  399. $(o)\AT2.OBJ        :  $(s)\AT2.PRG
  400. $(o)\ATPROMPT.OBJ   :  $(s)\ATPROMPT.PRG
  401. $(o)\BITCLR.OBJ     :  $(s)\BITCLR.PRG    $(s)\ISBIT.PRG
  402. $(o)\BITSET.OBJ     :  $(s)\BITSET.PRG    $(s)\ISBIT.PRG
  403. $(o)\BLINK.OBJ      :  $(s)\BLINK.PRG
  404. $(o)\BYT2BIT.OBJ    :  $(s)\BYT2BIT.PRG   $(s)\ISBIT.PRG
  405. $(o)\BYT2HEX.OBJ    :  $(s)\BYT2HEX.PRG
  406. $(o)\BYTEAND.OBJ    :  $(s)\BYTEAND.PRG   $(s)\ISBIT.PRG $(s)\BITSET.PRG
  407. $(o)\BYTENEG.OBJ    :  $(s)\BYTENEG.PRG
  408. $(o)\BYTENOT.OBJ    :  $(s)\BYTENOT.PRG   $(s)\ISBIT.PRG $(s)\BITSET.PRG
  409. $(o)\BYTEOR.OBJ     :  $(s)\BYTEOR.PRG    $(s)\ISBIT.PRG $(s)\BITSET.PRG
  410. $(o)\BYTEXOR.OBJ    :  $(s)\BYTEXOR.PRG   $(s)\ISBIT.PRG $(s)\BITSET.PRG
  411. $(o)\CALENDAR.OBJ   :  $(s)\CALENDAR.PRG
  412. $(o)\CLRSEL.OBJ     :  $(s)\CLRSEL.PRG
  413. $(o)\CNTRYSET.OBJ   :  $(s)\CNTRYSET.PRG
  414. $(o)\COM34.OBJ      :  $(s)\COM34.PRG
  415. $(o)\D2E.OBJ        :  $(s)\D2E.PRG
  416. $(o)\DATECNFG.OBJ   :  $(s)\DATECNFG.PRG
  417. $(o)\DAYOFYR.OBJ    :  $(s)\DAYOFYR.PRG
  418. $(o)\DAYTOBOW.OBJ   :  $(s)\DAYTOBOW.PRG
  419. $(o)\DECTOBIN.OBJ   :  $(s)\DECTOBIN.PRG
  420. $(o)\DFILE.OBJ      :  $(s)\DFILE.PRG     $(s)\DISPC.C    $(s)\DISPA.ASM  $(s)\DFKEY.H
  421. $(o)\DIR2DBF.OBJ    :  $(s)\DIR2DBF.PRG                  
  422. $(o)\DISKFUNC.OBJ   :  $(s)\DISKFUNC.PRG 
  423. $(o)\DISPMSG.OBJ    :  $(s)\DISPMSG.PRG   $(s)\SHADOW.ASM
  424. $(o)\DOSVER.OBJ     :  $(s)\DOSVER.PRG
  425. $(o)\E2D.OBJ        :  $(s)\E2D.PRG
  426. $(o)\EASTER.OBJ     :  $(s)\EASTER.PRG
  427. $(o)\ELAPMIL.OBJ    :  $(s)\ELAPMIL.PRG
  428. $(o)\ELAPSED.OBJ    :  $(s)\ELAPSED.PRG
  429. $(o)\ELTIME.OBJ     :  $(s)\ELTIME.PRG
  430. $(o)\EXIST.OBJ      :  $(s)\EXIST.PRG
  431. $(o)\FIELD.OBJ      :  $(s)\FIELD.PRG
  432. $(o)\FINDITH.OBJ    :  $(s)\FINDITH.PRG
  433. $(o)\FIRSTDAY.OBJ   :  $(s)\FIRSTDAY.PRG
  434. $(o)\GCD.OBJ        :  $(s)\GCD.PRG
  435. $(o)\HEX2DEC.OBJ    :  $(s)\HEX2DEC.PRG
  436. $(o)\INVCLR.OBJ     :  $(s)\INVCLR.PRG
  437. $(o)\ISBIT.OBJ      :  $(s)\ISBIT.PRG
  438. $(o)\ISBITON.OBJ    :  $(s)\ISBITON.PRG
  439. $(o)\ISSHARE.OBJ    :  $(s)\ISSHARE.PRG
  440. $(o)\LASTDAY.OBJ    :  $(s)\LASTDAY.PRG
  441. $(o)\LINKED.OBJ     :  $(s)\LINKED.PRG
  442. $(o)\MADD.OBJ       :  $(s)\MADD.PRG
  443. $(o)\MENU1.OBJ      :  $(s)\MENU1.PRG $(s)\SHADOW.ASM
  444. $(o)\MENUTO.OBJ     :  $(s)\MENUTO.PRG
  445. $(o)\METAPH.OBJ     :  $(s)\METAPH.PRG
  446. $(o)\MILTIME.OBJ    :  $(s)\MILTIME.PRG
  447. $(o)\MIN2DHM.OBJ    :  $(s)\MIN2DHM.PRG
  448. $(o)\MONTH.OBJ      :  $(s)\MONTH.PRG
  449. $(o)\MOUSE1.OBJ     :  $(s)\MOUSE1.PRG
  450. $(o)\NETPV.OBJ      :  $(s)\NETPV.PRG
  451. $(o)\NOOCCUR.OBJ    :  $(s)\NOOCCUR.PRG
  452. $(o)\NTOW.OBJ       :  $(s)\NTOW.PRG
  453. $(o)\NWLSTAT.OBJ    :  $(s)\NWLSTAT.PRG
  454. $(o)\NWSEM.OBJ      :  $(s)\NWSEM.PRG
  455. $(o)\NWUID.OBJ      :  $(s)\NWUID.PRG
  456. $(o)\PAGE.OBJ       :  $(s)\PAGE.PRG
  457. $(o)\PCHR.OBJ       :  $(s)\PCHR.PRG
  458. $(o)\PEGS.OBJ       :  $(s)\PEGS.PRG
  459. $(o)\PENDING.OBJ    :  $(s)\PENDING.PRG
  460. $(o)\PICKDAY.OBJ    :  $(s)\PICKDAY.PRG
  461. $(o)\POPADDER.OBJ   :  $(s)\POPADDER.PRG
  462. $(o)\PRTESC.OBJ     :  $(s)\PRTESC.PRG
  463. $(o)\QTR.OBJ        :  $(s)\QTR.PRG
  464. $(o)\RAND1.OBJ      :  $(s)\RAND1.PRG
  465. $(o)\RESTSETS.OBJ   :  $(s)\RESTSETS.PRG $(s)\CNTRYSET.PRG
  466. $(o)\ROUND.OBJ      :  $(s)\ROUND.PRG
  467. $(o)\SAVEARR.OBJ    :  $(s)\SAVEARR.PRG
  468. $(o)\SAVESETS.OBJ   :  $(s)\SAVESETS.PRG
  469. $(o)\SCANCODE.OBJ   :  $(s)\SCANCODE.PRG
  470. $(o)\SCREGION.OBJ   :  $(s)\SCREGION.PRG
  471. $(o)\SETDATE.OBJ    :  $(s)\SETDATE.PRG
  472. $(o)\SETTIME.OBJ    :  $(s)\SETTIME.PRG
  473. $(o)\SINKEY.OBJ     :  $(s)\SINKEY.PRG
  474. $(o)\SQZN.OBJ       :  $(s)\SQZN.PRG
  475. $(o)\SYSMEM.OBJ     :  $(s)\SYSMEM.PRG
  476. $(o)\TBWHILE.OBJ    :  $(s)\TBWHILE.PRG
  477. $(o)\TEMPFILE.OBJ   :  $(s)\TEMPFILE.PRG
  478. $(o)\VERTMENU.OBJ   :  $(s)\VERTMENU.PRG
  479. $(o)\VIDCUR.OBJ     :  $(s)\VIDCUR.PRG
  480. $(o)\VIDMODE.OBJ    :  $(s)\VIDMODE.PRG
  481. $(o)\WDA.OBJ        :  $(s)\WDA.PRG
  482. $(o)\WEEK.OBJ       :  $(s)\WEEK.PRG
  483. $(o)\WHEREIS.OBJ    :  $(s)\WHEREIS.PRG
  484. $(o)\WORKDAYS.OBJ   :  $(s)\WORKDAYS.PRG
  485. $(o)\WOY.OBJ        :  $(s)\WOY.PRG
  486. $(o)\XBOX.OBJ       :  $(s)\XBOX.PRG $(s)\SHADOW.ASM
  487. $(o)\YEAR.OBJ       :  $(s)\YEAR.PRG
  488.  
  489. !else
  490.  
  491.     // if clipper.exe file not found
  492.  
  493. !stderr "NFMake Error: CLIPPER.EXE file not found ... .PRG files not processed!"
  494.  
  495. !endif
  496.  
  497.  
  498. //  ┌─────────────────────────────────────────────────────────────┐
  499. //  │ This section invokes the library manager - it must be last! │
  500. //  └─────────────────────────────────────────────────────────────┘
  501. //
  502.  
  503. !iffile $(ml).exe
  504.  
  505. $(l)\NANFOR.LIB         :      $(l)\NANFOR.RSP
  506.  
  507. !else
  508.  
  509. !stderr "NFMake Error: LIB.EXE file not found ... NANFOR.LIB not processed!"
  510.  
  511. !endif
  512.  
  513.  
  514. // end of nanfor.rmk
  515. 
  516.